Communication networks connect network clients (computer systems) to allow these devices to exchange data with each other. Communication protocols define the techniques and format that these devices use when exchanging data via the communication networks. Communication networks connect the devices over various media, such as optical, electrical, or wireless media, and/or a combination thereof. Furthermore, a network can include network devices that facilitate such communication. These network devices (such as switches, routers, etc.) provide, for example, routing functionality that can route data from one network segment to another network segment within a larger communication network.
Often, devices on one network segment will use a different addressing scheme (e.g., a private or a non-routable addressing scheme) from what is used by another network segment. In order for a device on such a network segment to communicate data with a device on another network segment, an address translation is typically performed. A network address translation (NAT) device typically performs such network address translations. Thus, a device typically sends communication to an NAT device, which performs network address translation, and then forwards this communication using a different network address to a device on another network segment.
NAT devices can be used, for example, to translate network addresses of communications received from devices of an internal network (e.g., an intranet) to addresses that are used by an external network. However, such NAT devices typically use translation tables to store network addresses used by devices of an internal network and corresponding network addresses as used by the external network. Furthermore, because such translation tables often become very large (e.g., with thousands of entries), translation table lookup can be very expensive in terms of computational power, especially since each NAT device typically translates network addresses of a nearly constant stream of data packets being transmitted between devices of an internal network and those of the external network.
While the embodiments of the application are susceptible to various modifications and alternative forms, specific embodiments are provided as examples in the drawings and detailed description. It should be understood that the drawings and detailed description are not intended to limit the embodiments to the particular form disclosed. Instead, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the disclosure as defined by the appended claims.